package com.cungmua.app.net;

import com.cungmua.app.model.response.BankListResponse;
import com.cungmua.app.model.response.BonusResponse;
import com.cungmua.app.model.response.BonusTransactionResponse;
import com.cungmua.app.model.response.CancelOrderResponse;
import com.cungmua.app.model.response.CartInfoResponse;
import com.cungmua.app.model.response.ChangePassResponse;
import com.cungmua.app.model.response.ChangeSubcriptionResponse;
import com.cungmua.app.model.response.CityPromotionEmailResponse;
import com.cungmua.app.model.response.CityResponse;
import com.cungmua.app.model.response.CreateShippingAddressResponse;
import com.cungmua.app.model.response.DealDetailsResponse;
import com.cungmua.app.model.response.DistrictResponse;
import com.cungmua.app.model.response.EditProfileResponse;
import com.cungmua.app.model.response.ForgotPasswordResponse;
import com.cungmua.app.model.response.GetCategoryDealResponse;
import com.cungmua.app.model.response.GetCategoryResponse;
import com.cungmua.app.model.response.LikeResponse;
import com.cungmua.app.model.response.ListDealResponse;
import com.cungmua.app.model.response.LoginResponse;
import com.cungmua.app.model.response.NewDealResponse;
import com.cungmua.app.model.response.OrderDetailsResponse;
import com.cungmua.app.model.response.OrderHistoryResponse;
import com.cungmua.app.model.response.PastDealResponse;
import com.cungmua.app.model.response.PaymentInfoResponse;
import com.cungmua.app.model.response.PlaceOrderResponse;
import com.cungmua.app.model.response.ProfileResponse;
import com.cungmua.app.model.response.RegisterResponse;
import com.cungmua.app.model.response.WardResponse;

import java.util.Map;

import retrofit.http.FieldMap;
import retrofit.http.FormUrlEncoded;
import retrofit.http.POST;

/**
 * Created by kelvin.nguyen on 6/16/14.
 */
public interface CungMuaService {
    @FormUrlEncoded
    @POST("/city")
    CityResponse getListCity(@FieldMap Map fields);

    @FormUrlEncoded
    @POST("/login")
    LoginResponse login(@FieldMap Map fields);

    @FormUrlEncoded
    @POST("/catalog")
    GetCategoryResponse getCategoryList(@FieldMap Map fields);

    @FormUrlEncoded
    @POST("/hotdeal")
    ListDealResponse getListHotDeal(@FieldMap Map fields);

    @FormUrlEncoded
    @POST("/newdeal")
    NewDealResponse getListNewDeal(@FieldMap Map fields);

    @FormUrlEncoded
    @POST("/dealincatalog")
    GetCategoryDealResponse getListCategoryDeal(@FieldMap Map fields);

    @FormUrlEncoded
    @POST("/dealdetail")
    DealDetailsResponse getDealDetails(@FieldMap Map fields);

    @FormUrlEncoded
    @POST("/searchdeal")
    ListDealResponse searchDeal(@FieldMap Map fields);

    @FormUrlEncoded
    @POST("/cartinfo")
    CartInfoResponse getCartInfo(@FieldMap Map fields);

    @FormUrlEncoded
    @POST("/createshipaddress")
    CreateShippingAddressResponse createShippingAddress(@FieldMap Map fields);

    @FormUrlEncoded
    @POST("/updateshipaddress")
    CreateShippingAddressResponse updateShippingAddress(@FieldMap Map fields);


    @FormUrlEncoded
    @POST("/paymentinfo")
    PaymentInfoResponse getPaymentInfo(@FieldMap Map fields);

    @FormUrlEncoded
    @POST("/ward")
    WardResponse getListWard(@FieldMap Map fields);


    @FormUrlEncoded
    @POST("/ChangeSubscription")
    WardResponse changeSubscription(@FieldMap Map fields);


    @FormUrlEncoded
    @POST("/district")
    DistrictResponse getListDistrict(@FieldMap Map fields);


    @FormUrlEncoded
    @POST("/banklist")
    BankListResponse getListBank(@FieldMap Map fields);

    @FormUrlEncoded
    @POST("/historydeal")
    PastDealResponse getListPastDeal(@FieldMap Map fields);

    @FormUrlEncoded
    @POST("/cancelorder")
    CancelOrderResponse cancelOrder(@FieldMap Map fields);

    @FormUrlEncoded
    @POST("/doorder")
    PlaceOrderResponse placeOrder(@FieldMap Map fields);

    @FormUrlEncoded
    @POST("/likedeal")
    LikeResponse likeDeal(@FieldMap Map fields);

    @FormUrlEncoded
    @POST("/registry")
    RegisterResponse register(@FieldMap Map fields);


    @FormUrlEncoded
    @POST("/userprofile")
    ProfileResponse getProfile(@FieldMap Map fields);

    @FormUrlEncoded
    @POST("/updateprofile")
    EditProfileResponse editProfile(@FieldMap Map fields);

    @FormUrlEncoded
    @POST("/moneybonus")
    BonusResponse getBonus(@FieldMap Map fields);

    @FormUrlEncoded
    @POST("/BonusCode ")
    BonusResponse subMitBonus(@FieldMap Map fields);


    @FormUrlEncoded
    @POST("/BonusList ")
    BonusTransactionResponse  listBonusTransactions(@FieldMap Map fields);

    @FormUrlEncoded
    @POST("/changepass")
    ChangePassResponse changePassword(@FieldMap Map fields);

    @FormUrlEncoded
    @POST("/ForgotPassword")
    ForgotPasswordResponse forgotPassword(@FieldMap Map fields);


    @FormUrlEncoded
    @POST("/orders")
    OrderHistoryResponse getListOrderHistories(@FieldMap Map fields);

    @FormUrlEncoded
    @POST("/orderdetail")
    OrderDetailsResponse getOrderDetail(@FieldMap Map fields);

    @FormUrlEncoded
    @POST("/ListSubcribe")
    CityPromotionEmailResponse getListCityPromotionEmails(@FieldMap Map fields);


    @FormUrlEncoded
    @POST("/ChangeSubcription")
    ChangeSubcriptionResponse setCityPromotionEmails(@FieldMap Map fields);



}
